Methods and Devices for Analog Downlinking of Drilling Commands

ABSTRACT

Methods and systems for adjusting a drill direction continuously during a drill operation comprising the steps of: selecting a desired downhole response value; computing from a preset mathematical relationship a corresponding surface control value; setting the surface control variable to the desired surface control value; measuring the surface control variable continuously downhole and computing at downhole an averaged surface control value; computing a corresponding downhole response value from the averaged measured surface control value; and setting the downhole response variable to the computed downhole response value.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit under 35 U.S.C. § 119 of U.S. Application No. 63/351,426 filed 12 Jun. 2022 and entitled METHODS AND DEVICES FOR ANALOG DOWNLINKING OF DRILLING COMMANDS which is hereby incorporated herein by reference for all purposes.

FIELD

The present disclosure relates generally to oilfield drilling, downhole tools, drilling control systems, and drilling techniques for drilling wellbores in the earth. The technology described in the present disclosure has example application for controlling directional drilling.

BACKGROUND

An oil or gas well may have a subterranean section that needs to be drilled directionally. For example, it may be desired to drill a wellbore that is vertical for a certain distance, turns to become horizontal, and then continues horizontally through an underground formation. In directional drilling, the direction of drilling may be changed by inclining a drill bit at an angle relative to the wellbore. This angle may be called a toolface angle. The toolface angle may be defined with respect to the vertical and/or a particular compass heading or azimuth.

Rotary steerable systems (RSS) tools have been increasingly adopted for directional drilling. An RSS tool has controlled moveable parts that can hold a drill bit at a toolface angle while the drill string is being rotated. During drilling operation, an RSS tool uses electromechanical systems that include sensors, onboard computers, and advanced control systems to continuously orient the drill bit in the desired direction, while the RSS and drill pipe continue to rotate.

A key benefit of RSS technology is the ability to direct a well trajectory without the need to stop rotation of the drill string from the surface. Keeping the drill string rotating can reduce torque and drag losses during steering and allows for longer lateral sections to be drilled faster. Additional RSS benefits may include more precise steering control, better placement of the wellbore relative to a drilling plan, and a smoother, more consistent wellbore diameter. Due to these benefits, along with the trend towards drilling long lateral sections in current wellbores, RSS technology continues to gain market share.

One challenge of RSS relates to controllably changing the steering settings of the RSS while drilling. To adjust the steering settings downhole at the drill bit, a command from the surface must be communicated to the downhole tool assembly. Ongoing control of the drilling direction requires ongoing communications of steering commands to be sent to the downhole tool assembly. This process is called downlinking.

Examples of downlink communication techniques include modulation of drilling fluid (mud) pressure, flow rate, or rotary speed, communication via wireline or wired drill pipe, electromagnetic communication, or acoustic communication. U.S. Pat. No. 9,970,284 discloses a method for drilling a well along a planned trajectory including the steps of: receiving downhole data from a steerable drilling tool; processing the downhole data and creating a downlink path, the downlink path being recognizable by the steerable drilling tool; and controlling the trajectory of the steerable drilling tool based on the downlink path. In U.S. Ser. No. 10/077,650 B2, a drilling value is acquired at a surface location while drilling and the acquired drilling value is downlinked from the surface location to the bottom hole assembly.

Current RSS technology is complex. It is not uncommon for an RSS to require a lengthy sequence of downlink commands that may take a long time (e.g. 10 to 20 minutes) to be downlinked to an RSS. Moreover, sequences of downlink commands may not always be successfully communicated. Errors introduced by the downlinking may cause the RSS to be incorrectly set up. In these scenarios, there can be significant delays to the drilling and/or deviations from the desired trajectory. With the high cost of rig operation, unsuccessful downlinking can result in expensive non-productive time and could create a situation in which the wellbore drilled deviates significantly from the drilling plan.

There remains a need for improved methods and systems for downlinking commands to downhole tools.

SUMMARY

The present technology has various aspects. These include without limitation:

-   -   methods and apparatus for controlling a downhole tool;     -   methods and apparatus for controlling an RSS;     -   downhole equipment and methods for receiving commands delivered         by way of drillstring rotation parameters and/or drilling fluid         flow parameters.

One aspect of the invention provides a method for controlling a downhole tool in a drilling operation. This method comprises selecting a desired downhole response variable value; computing a desired surface control variable value corresponding to the desired downhole response variable value according to a preset mathematical relationship wherein the preset mathematical relationship is accessible by one or more surface and/or downhole controllers; setting the surface control variable to the desired surface control variable value; measuring the surface control variable at a bottom hole assembly and obtaining a plurality of measured values of the surface control variable; computing a representative value for the measured values of the surface control variable; computing a downhole response variable value corresponding to the representative value of the plurality of measured surface control values according to the preset mathematical relationship; and controlling the downhole tool according to the computed downhole response variable value. In some embodiments the representative value is determined based on those of the plurality of measured values of the surface control variable associated with a first window (e.g. a most recent N of the measured values).

The representative value may, for example, be an average value (including a weighted average value), a median value, a root mean square (RMS) value, an exponential moving average value, or an output of a Kalman filter that filters the measured values of the surface control variable.

In some embodiments determining the representative value comprises processing the plurality of those of the measured values of the surface control variable corresponding to the first window to remove outliers and determining the representative value for the remaining ones of the measured values of the surface control variable corresponding to the first window.

In some embodiments the downhole response variable corresponds to a toolface angle of a drill bit.

In some embodiments the surface control variable is a rotational speed of a drill string of a drill rig, a drilling fluid flow rate, or drilling fluid pressure.

In some embodiments the range of values of the toolface angle exceeds one full revolution, or includes −30 degrees to 390 degrees.

In some embodiments the range of values of the rotational speed of the drill string is or is within the range of 20 to 120 RPM.

In some embodiments the mapping is a linear mapping, or is a repeating function with dead bands.

In some embodiments the downhole response variable is a steering rate of the downhole tool.

In some embodiments the mathematical relationship comprises a mapping between a range of values of the toolface angle and a range of values of the rotational speed of the drill string, or comprises a mapping between a range of values of the steering rate and a range of values of the drilling fluid flow rate or drilling fluid pressure.

In some embodiments the method for controlling a downhole tool in a drilling operation further comprises selecting a desired second downhole response variable value; computing a desired second surface control variable value corresponding to the desired second downhole response variable value according to a second preset mathematical relationship; setting the second surface control variable to the desired second surface control variable value; measuring the second surface control variable at the bottom hole assembly and obtaining a plurality of measured second surface control values; computing over a second window that is the same as or different from the first window a representative value of the plurality of second surface control variable values; computing a second downhole response variable value corresponding to the representative value of the plurality of measured second surface control variable values according to the second preset mathematical relationship; and setting the second downhole response variable to the computed second downhole response variable value.

In some embodiments the second downhole response variable is a steering rate of the downhole tool.

In some embodiments the second surface control variable is a drilling fluid flow rate or drilling fluid pressure.

In some embodiments the second mathematical relationship comprises a mapping between a range of values of the steering rate and a range of values of the drilling fluid flow rate or drilling fluid pressure.

In some embodiments the first surface control variable and/or the second surface control variable is measured at least once every one second.

In some embodiments the first and second windows have lengths in the range of 30 to 60 seconds, and/or the first and second windows each correspond to the same or different intervals.

In some embodiments the method includes ne or more of: varying one or both of the first window and the second window over the drilling operation; reducing a duration of the first window in response to detecting a significant change in the magnitude of the first surface control variable; reducing a duration of the second window in response to detecting a significant change in the magnitude of the second surface control variable; increasing a duration of the first window in response to determining that there is no significant change in the magnitude of the first surface control variable during the first window; and increasing a duration of the second window in response to determining that there is no significant change in the magnitude of the second surface control variable during the second window.

Another aspect of the invention provides an analog method of downlinking a plurality of downhole response variables to a bottom hole assembly during a drilling operation. This method comprises the steps of: selecting a desired plurality of downhole response variable values; computing a desired respective surface control variable value corresponding to each of the plurality of desired first downhole response variable values according to respective preset mathematical relationships, wherein the mathematical relationships are accessible by one or more surface and/or downhole controllers; setting each of the plurality of surface control variables respectively to the desired surface control variable values; measuring each of the plurality of surface control variables downhole at or near the bottom hole assembly to obtain a time sequence of measurements of each of the plurality of surface control variables; for each of the plurality of surface control variables computing a representative value of a portion of the time sequence of measurements of the respective surface control variable (e.g. the representative value may be based on those of the measurements corresponding to a respective window); computing respective first downhole response variable values corresponding to the representative values for the respective surface control variables according to the respective preset mathematical relationships; and setting each of the downhole response variables to the respective computed downhole response variable values. In some embodiments for each of the plurality of surface control variables the representative value of the portion of the time sequence of measurements of the respective surface control variable is computed at a respective frequency.

The representative value may, for example, be an average value (including a weighted average value), a median value, a root mean square (RMS) value, an exponential moving average value, or an output of a Kalman filter that filters the measured values of the surface control variable.

In some embodiments determining the representative value for at least one of the surface control variables comprises processing the portion of the time sequence of measurements of the respective surface control variable corresponding to the respective window to remove outliers and determining the representative value for the remaining ones of the measured values of the surface control variable corresponding to the first window.

In some embodiments the respective preset mathematical relationships each comprise a mapping between a range of values of the respective downhole response variable and a range of values of the respective surface control variable.

In some embodiments at least one of the mappings is a linear mapping, a repeating function with dead bands, or a discrete function.

In some embodiments one of the plurality of downhole response variables is a toolface angle of a drill bit of the bottom hole assembly or a steering rate of the bottom hole assembly.

In some embodiments the range of values of the toolface angle exceeds one full revolution or is between −30 degrees and 390 degrees.

In some embodiments one of the plurality of surface control variables is a rotational speed of a drill string (where the range of values of the rotational speed of the drill string may, for example be or be within the range of 20 to 120 RPM), a drilling fluid flow rate, or drilling fluid pressure.

In some embodiments values for each of the plurality of surface control variables are measured at least once per second.

In some embodiments the respective windows have durations of at least 30 seconds, or have durations in the range of 30 to 60 seconds.

In some embodiments the method includes one or more of: varying a duration of at least one of the windows during the drilling operation, reducing the duration of the at least one window in response to determining that a magnitude of the respective surface control variable is undergoing significant change, and increasing the duration of the at least one window in response to determining that the magnitude of the at least one averaging interval is not changing significantly in the window.

Another aspect of the invention provides an analog method of downlinking a toolface angle to a bottom hole assembly during a drilling operation. This method comprises the steps of selecting a desired toolface angle value; computing a rotational speed of a drill string (RPM) corresponding to the desired toolface angle value according to a preset mathematical relationship; rotating the drill string at the computed rotational speed; measuring RPM of the drill string at the bottom hole assembly to obtain a sequence of measured RPM values; computing a representative value of the plurality of time-stamped RPM values obtained in a first window; computing a toolface angle corresponding to the representative value according to the preset mathematical relationship; and setting a toolface angle of a steering system to the computed toolface angle value.

In some embodiments this method further comprises the steps of: selecting a desired steering rate value; computing a desired drilling fluid flow rate or pressure value corresponding to the desired steering rate value according to a second preset mathematical relationship; setting the drilling fluid flow rate or pressure to the desired drilling fluid flow rate or pressure value; measuring the drilling fluid flow rate or pressure at the bottom hole assembly and obtaining a sequence of measured drilling fluid flow rate or pressure values; computing a representative value for the drilling fluid flow rate or pressure values obtained in a second window; computing a steering rate corresponding to the representative value for the drilling fluid flow rate or pressure values obtained in the second window according to the second preset mathematical relationship; and setting a steering rate of the steering system to the computed steering rate value.

Another aspect of the invention provides a drill rig configured to drill continuously while adjusting a drilling direction. The drill rig comprises a surface controller; a drill string; a mud pump; a motor configured to rotate the drill string; and a bottom hole assembly (BHA).

In some embodiments the bottom hole assembly comprises one or more BHA sensors; a BHA controller comprising a local storage and a data processor; a steering assembly; and a drill bit.

In some embodiments the surface controller is configured to compute a desired rotational speed of the drill string (RPM) corresponding to a desired toolface angle value according to a preset mathematical relationship; and control the motor to rotate the drill string at the desired RPM; and the BHA controller is configured by software instructions in the local storage of the BHA controller to: receive from the one or more BHA sensors a time series of measurements of the RPM of the drill string at or near the BHA; and compute a representative value of the measurements of the RPM of the drill string for a window; compute a toolface angle value corresponding to the representative value of the measurements of the RPM of the drill string for the window using the preset mathematical relationship; and control the steering assembly to set a toolface angle of the steering assembly to the computed toolface angle value.

In some embodiments the surface controller is configured to communicate a desired steering rate value for the drill bit of the BHA to the BHA controller by: computing drilling fluid flow rate or pressure corresponding to the desired steering rate value according to a second mathematical relationship; and controlling the mud pump to set the drilling fluid flow rate or pressure in the drill string to the desired drilling fluid flow rate or pressure.

In some embodiments the BHA controller is configured to: receive from the BHA sensors a time series of measurements of the drilling fluid flow rate or pressure; compute a representative value of the time series of measurements of the drilling fluid flow rate or pressure; compute a steering rate value corresponding to the representative value of the time series of measurements of the drilling fluid flow rate or pressure (e.g. for a second window) using the second preset mathematical relationship; and set a steering rate of the steering assembly to the computed steering rate value.

Another aspect of the invention provides a method for controlling a downhole tool in a drilling operation. The method comprises the steps of: at surface equipment, controlling a rotational speed of a drill string to have a value that corresponds to a downhole response value; measuring the rotational speed of the drill string at a bottom hole assembly and obtaining at different times a plurality of measured values of the rotational speed to yield a time sequence of the measured values; computing a representative value of those of the plurality of measured values of the rotational speed obtained in a first window that includes the N most-recently acquired ones of the plurality of measured values of the rotational speed where N is an integer; computing a downhole response variable value corresponding to the representative value according to a preset mathematical relationship; and controlling the downhole tool according to the computed downhole response variable value.

In some embodiments the method further comprises dynamically varying a length of the first window.

In some embodiments the dynamically varying comprises decreasing a length of the first window in response to determining that an average value of those of the plurality of measured values of the rotational speed obtained in a second window that is shorter than the first window and includes the M most-recently acquired ones of the plurality of measured values of the rotational speed where M is a number with M<N differs in a statistically significant amount from the average value of the plurality of measured values of the rotational speed over the first window.

In some embodiments the dynamically varying comprises increasing a length of the first window in response to determining that the representative value of those of the plurality of measured values of the rotational speed obtained over the second window does not differ in a statistically significant amount from the representative value of the plurality of measured values of the rotational speed over the first window.

Another aspect of the invention provides apparatus having any new and inventive feature, combination of features, or sub-combination of features as described herein.

Another aspect of the invention provides methods having any new and inventive steps, acts, combination of steps and/or acts or sub-combination of steps and/or acts as described herein.

Further aspects and example embodiments are illustrated in the accompanying drawings and/or described in the following description.

It is emphasized that the invention relates to all combinations of the above features, even if these are recited in different claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate non-limiting example embodiments of the invention.

FIG. 1 is a schematic diagram illustrating an example conventional drilling rig.

FIG. 2 is a schematic diagram illustrating an example conventional bottom hole assembly (“BHA”) with a rotary steerable system (“RSS”).

FIG. 3 is a schematic diagram illustrating the steering rate and the toolface angle of an example configuration of a conventional BHA with a RSS.

FIG. 4 is a flow chart illustrating an implementation of an example method for adjusting a downhole response variable according to an embodiment of this invention, the implementation including a single surface control variable.

FIG. 5 is a plot of an example linear mapping between a single surface control variable and a single downhole response variable according to an embodiment of this invention.

FIG. 5A is an example non-linear mapping.

FIG. 6 is a plot of an example repeating function with “dead bands” between a single surface control variable and a single downhole response variable according to an embodiment of this invention.

FIG. 7 is a flow-diagram illustrating an implementation of an example method of adjusting a downhole response variable according to an embodiment of this invention, the implementation including one or more surface control variables.

FIG. 8 is a schematic diagram showing an example BHA with a RSS configured to implement the methods of this invention according to an embodiment of this invention.

FIG. 9 shows an example lookup table according to an embodiment of this invention.

DETAILED DESCRIPTION

Throughout the following description, specific details are set forth in order to provide a more thorough understanding of the invention. However, the invention may be practiced without these particulars. In other instances, well known elements have not been shown or described in detail to avoid unnecessarily obscuring the invention. Accordingly, the specification and drawings are to be regarded in an illustrative, rather than a restrictive sense.

This disclosure discusses systems, devices, and methods with practical application in subsurface drilling operations. For example, the disclosed systems, devices, and methods may be applied in directional drilling operations. The present technology may be applied to deep drilling (e.g. wellbores extending to depths of 500 meters or more).

One aspect of the disclosure relates to analog methods for sending commands from the surface to a downhole tool.

FIG. 1 illustrates a conventional drill rig 100. Drill rig 100 may be positioned over an oil or gas formation (not shown) disposed below ground level 110. Drill rig 100 drives a drill string 120 into a wellbore 130, and includes a bottom hole assembly (“BHA”) 140. BHA 140 is typically connected within drill string 120 and makes up a lower portion of drill string 120.

A motor 101 drives rotation of drill string 120 including BHA 140. During drilling operations, one or more mud pumps 102 draw drilling fluid from a tank or pit located at or near drill rig 100 and pump the drilling fluid through the interior of drill string 120 to BHA 140. The drilling fluid returns to ground level 110 in an annulus surrounding drill string 120 and carries cuttings from the drilling operation to the surface. The drilling fluid (or “mud”) pumped by mud pumps 102 also lubricates and cools drill bit 240 (see FIG. 2 ).

The example drill rig 100 is presented for illustrative purposes only. The methods and systems disclosed herein may be applied to any suitable drilling rigs.

FIG. 2 illustrates a typical BHA 140. BHA 140 makes up the downhole end of drill string 120. The illustrated BHA 140 comprises a rotary steerable system (“RSS”) 200. RSS 200 comprises a sensing and control unit 210, which typically houses the sensors, electronics, and other devices necessary for control of RSS 200 and, a steering assembly 230 which is connected to a drill bit 240. BHA 140 also includes a drilling motor 220 connected to drive drill bit 240 to rotate to drill a path through the earth. Steering assembly 230 is disposed between drilling motor 220 and drill bit 240.

Steering assembly 230 typically comprises a flexible joint such as a universal joint 330 (see FIG. 3 ) which connects a downhole portion of the drill string that drives drill bit 240 to the rest of the drill string. A plurality of actuators 310 (see FIG. 3 ) are coupled to controllably flex the flexible joint so that the orientation of an axis of the drill bit is kept constant (or nearly so) as the drill string and drill bit rotate.

Many designs of RSS are commercially available and/or described in the patent literature.

During drilling operations sensing and control unit 210 controls downhole steering assembly 230 to dynamically pivot drill bit 240 to have a desired orientation relative to an axis of the wellbore while steering assembly 230 is rotating. By doing so, a wellbore being extended by drill bit 240 may be made to curve in a desired direction to follow a planned trajectory. Typically control unit 210 receives commands from surface equipment that communicate the orientation at which steering unit 230 should present drill bit 240. The commands may, for example, be provided in the form of digital values communicated by electromagnetic or mud pulse telemetry methods.

The example BHA 140 of FIG. 2 is presented for illustrative purposes only. The methods and systems disclosed herein may be applied using any suitable drilling tools.

The orientation of a drill bit may be specified by two angles, a “steering rate” and a “toolface angle”. FIG. 3 schematically illustrates steering rate and the toolface angle. In FIG. 3 , a wellbore axis 340 extends in a direction parallel to the direction of drill string 120 near BHA 140. A bit axis 350 extends in a direction parallel to the axis of bit shaft 320 and bit 240. The angle formed between wellbore axis 340 and bit axis 350 is steering rate 360. The steering rate may be increased by operating actuators 310 to make the angle between wellbore axis 340 and bit axis 350 larger. In general, increasing the steering rate causes the trajectory of the wellbore to curve with a tighter radius in a direction defined by toolface angle 370. If the steering rate is zero then, all other factors being equal, drill bit 240 extends wellbore 340 in a straight line. Steering rate 360 may be expressed as a percentage of a maximum steering rate, e.g., 25%, 50%, 75%, 100%, etc.

Toolface angle may be understood by considering a plane 380 that is perpendicular to wellbore axis 340. Wellbore axis 340 intersects with plane 380 at a first point on plane 380. If bit axis 350 is not parallel with wellbore axis 340 (i.e., if steering rate is not 0%), bit axis 350 intersects with plane 380 at a second point on plane 380.

A toolface angle 370 is defined by the angle formed between straight line 372 drawn between the first and second points and a reference line 374 that extends from the first point in a given direction. Reference line 374 may be defined in any of various ways (e.g. a particular compass orientation, a particular angle relative to vertical if the wellbore is extending in a non-vertical angle, etc). An example reference line 374 points in the direction of magnetic north. Another example reference line 374 points in a direction on plane 380 that is vertically up or closest to being vertically up in a case where the wellbore extends horizontally or at a non-horizontal angle that has a significant horizontal component.

Toolface angle 370 may be expressed as an angular amount (e.g. measured in degrees or radians), e.g., any value or equivalent angular value of 0 to 360 degrees or 0 to 271 radians.

FIG. 4 illustrates an example method 400 for adjusting a downhole response variable based on a surface control variable according to an example embodiment of this invention. Method 400 may, for example, be applied to control an RSS to present a drill bit at different desired toolface angles. Method 400 may also be applied to control other downhole response variables.

The surface control variable (referred to as “SCV” herein) is a quantitative variable that can be controlled at surface equipment to have values within a range and the values can be measured at downhole equipment. Preferably the SCV is continuously variable and provides continuous variation of a measurable quantity downhole. The SCV may, for example, be:

-   -   a rotation rate of the drill string—which can be expressed in         rotations per minute (“RPM”);     -   a drilling fluid flow rate or velocity; or     -   a drilling fluid pressure.         Each of these quantities can be set at surface equipment and         measured by suitable sensors at downhole equipment.

The downhole response variable (referred to as “DRV” herein) is a quantitative variable that can be adjusted to have values in a range in response to values of a corresponding SCV. In preferred embodiments the DRV can take on any value within the range (i.e. is variable continuously in the range). Examples of DRV are:

-   -   toolface angle;     -   steering rate;     -   power output of a downhole device (e.g. a logging device,         resistivity measuring device, telemetry device, etc.);     -   gain or sensitivity of an instrument.

Method 400 basically involves setting a value for a SCV (referred to as “SCV_(V)” herein) at surface equipment; detecting the SCV_(V) at a downhole location; and based on the detected SCV_(V) setting a value for a corresponding DRV (referred to as “DRV_(V)” herein).

In some embodiments the steps of detecting the SCV_(V) and setting the corresponding DRV_(V) are performed continuously or repeated frequently so that the DRV_(V) is caused to track changes in SCV_(V).

At step 402, a correspondence between a DRV_(V) and a corresponding SCV_(V) for a particular SCV is established. The correspondence may be established for a certain phase of the drilling operation. The DRV_(V) may, for example, represent a specific toolface angle to be used to extend a wellbore. In some embodiments, a desired DRV_(V) is determined based on a drilling plan. The drilling plan may be based on the geological properties of the subterranean drill site or any other suitable considerations.

In some embodiments, SCV_(V) for a particular SCV is used to encode DRV_(V) for a first DRV in one phase of a drilling operation and SCV_(V) for the same particular SCV is used to encode DRV_(V) for a second DRV in another phase of the drilling operation.

At step 404, a value 407 which is the SCV_(V) for the SCV that corresponds to the desired DRV_(V) is identified. The SCV_(V) may be related to the corresponding DRV_(V) by a pre-determined mathematical relationship.

In some embodiments step 404 is performed by a person who may, for example, determine a SCV_(V) that corresponds to the desired DRV_(V) using a printed table, a calculator, a computer or the like. The person may then input the identified SCV_(V) into the surface control equipment using a suitable control interface.

In some embodiments step 404 is performed automatically by surface equipment that includes a processor configured to use the predetermined mathematical relationship to compute the SCV_(V) based on the desired corresponding DRV_(V). In such embodiments the corresponding desired DRV_(V) may, for example, be input by a user or retrieved from a drilling plan.

In some embodiments the surface equipment includes a lookup table that embodies the pre-set mathematical relationship. The lookup table may, for example, accept as a key a desired DRV_(V) and may output a value for the corresponding SCV_(V) in response to input of the key. FIG. 9 shows an example lookup table according to an embodiment of this invention. A lookup table may be configured to provide interpolated output values.

The mathematical relationship may be a mapping of a range for a SCV_(V) to a range for the corresponding DRV_(V) (e.g., DRV_(V)=f(SCV_(V)), where DRV_(V) is the value of the downhole response variable, SCV_(V) is the value of the surface control variable, and f( . . . ) is a function that defines the mapping.

In some embodiments, the mapping is a linear mapping between a range for a SCV_(V) to a range for a corresponding DRV_(V) (e.g., DRV_(V)=f(SCV_(V))=a×SCV_(V)+b, where a is the rate of change of DRV_(V) in response to changes in SCV_(V), and b is a constant value). The linear mapping may be applied to any suitable ranges of values of DRV_(V) and SCV_(V). The inverse of this linear mapping

$\left( {{i.e.{}{SCV}_{V}} = \frac{{DRV}_{V} - b}{a}} \right)$

may be used in step 404.

In some embodiments the mapping is a non-linear mapping. The non-linear mapping may compensate for the possibility that the accuracy with which a SCV_(V) can be measured at a downhole location may depend on the SCV_(V). For example, where the SCV is the rotation rate of a drill string it may be possible to measure the rotation rate of the drill string more accurately at higher rotation rates than for lower rotation rates. In such cases the mathematical function that relates DRV_(V) to SCV_(V) may be chosen to have a derivative

$\frac{{dSCV}_{V}}{{dDRV}_{V}}$

that decreases as the SCV_(V) increases (with such a function, equally spaced apart DRV_(V) map to corresponding SCV_(V) that are more closely spaced as SCV_(V) increases and are spaced apart more widely as SCV_(V) decreases).

If it is known in advance that the desired DRV_(V)s will be clustered in a particular part of the available range for the DRV_(V), a non-linear mapping may be constructed that provides more accurate setting of the DRV_(V) in that particular part of the available range. For example, where the DRV represents toolface angle, and it is known in advance that the important toolface angles will be between 25 degrees and 45 degrees then a nonlinear mapping may be used which assigns a disproportionately large part of the available range of the corresponding SCV_(V) to DRV_(V)s in the range of 25 to 45 degrees—thereby enabling more accurate control of the toolface angle for the case where the toolface angle is in the range of 25 to 45 degrees. An example of such a nonlinear function is shown in FIG. 5A.

FIG. 5 is a plot 500 corresponding to one example linear mapping for a case where the SCV is the RPM of the drill string and the DRV is the toolface (angle of the drill bit). The RPM values may be in the range of about 5 to about 100, for example. In the specific example embodiment shown in FIG. 5 , the SCV has values (i.e. RPM) in the range of 14 to 42 and the DRV has corresponding values (i.e. toolface angle) in the range from −30 degrees to 390 degrees where rate of change a=15 degrees/RPM and constant b=−240. However, either or both of the RPM and the toolface angles may have any other suitable ranges of values.

In some embodiments, RPM values outside the range of the SCV_(V) (e.g. for the example embodiment illustrated in FIG. 5 , for RPM values>42) may correspond to a setting of the drill bit such that the RSS drills as straight as possible (i.e. straight drilling). In some embodiments, RPM values in the range of about 60 to about 80 may be set to correspond to straight drilling.

Plot 500 is an example of “overlap” which is provided in some embodiments of the invention. In plot 500, the range of the toolface angle values exceeds one full revolution. Consequently, there is an overlap region at each end of the range of available toolface angles. For an angle in the overlap region at one end of the range there is another angle within the range such that both angles correspond to the same physical angle. For example the toolface angles −5 degrees and 355 degrees correspond to the same physical angle. As another example, the toolface angles 370 degrees and 10 degrees correspond to the same physical angle.

In the example embodiment, there may be an overlap region of at least a few degrees at each end of the range of 0 to 360 degrees. For example, overlap regions may have spans in the range of about 5 degrees to about 60 degrees. In other embodiments, the overlap may also be a percentage of the range at each end, e.g., ±x % of the range at each end. The example embodiment in FIG. 5 has an overlap of 30 degrees. As shown by the shaded area in FIG. 5 , the range −30 degrees to 0 degrees is equivalent to the range 330 degrees to 360 degrees; and the range 0 degree to 30 degrees is equivalent to the range 360 degrees to 390 degrees.

The extended range with overlap regions has several benefits. These can include reducing the risk that small errors in the RPM or other SCV will result in invalid mapping to DRV_(V) (which could for example cause a RSS to be set from steering to non-steering). Also, providing overlap regions allows certain adjustments in the toolface angle to be made with a smaller degree of adjustment in the RPM values than if there were no overlap. For example, an adjustment from 1 degree to 359 degrees without overlap regions would require a corresponding adjustment of RPM or other SCV from a little more than 16 to a little less than 40 (using the mapping of plot 500). With the overlap, the same adjustment may be made with an RPM adjustment from a little more than 16 to a little less than 16 because 359 degrees is equivalent to −1 degree.

In some embodiments, the mapping is provided by a repeating function. The repeating function may include “dead bands”. FIG. 6 is a plot 600 that provides one example of a possible repeating function relationship of toolface angle vs. RPM. In the illustrated embodiment, a repeating linear relationship between the toolface angle and the RPM is established between lower bound 602 and upper bound 604. As shown in FIG. 6 , in each interval, the values of toolface angles extends from lower bound 602 to upper bound 604 corresponding to a range of RPM values. Lower bound 602 and upper bound 604 may be of any suitable values. A “dead band” is between any two adjacent intervals. The RSS may be set to drill straight when the RPM value is in any of the “dead bands”. It is understood that the disclosed embodiments are not limited to a linear relationship. The disclosed embodiments are also not limited to any particular values for lower bound 602 and upper bound 604. The disclosed embodiments may include any suitable number of intervals.

From the above it can be appreciated that a toolface angle or other DRV may be controlled from surface equipment by setting a drill string rotation rate or other SCV. Further, the toolface angle or other DRV can be adjusted in near real time by changing the drill string rotation rate or other SCV.

One issue that may be addressed by appropriate selection of a mapping is that the SCV_(V) such as drill string rotation rate or drilling fluid flowrate or drilling fluid pressure can have significant effects on the rate or penetration (ROP) and other metrics of the efficiency of the drilling operation. If the SCV is being set at a specific value to control a corresponding DRV then the operator does not have the freedom to set the SCV_(V) to improve ROP or other drilling metrics. One way to address this problem is to use a repeating function as discussed above for a mapping. Such a repeating function provides a plurality of SCV_(V)s that all correspond to the same DRV_(V). This gives the operator flexibility to select the best one of this plurality of SCV_(V)s for drilling performance while still maintaining control of the DRV.

Another way to address this problem is to define a mapping in which the range for the SCV is variable. The range for the SCV may be communicated to downhole equipment in a suitable manner, for example, by a pattern of drill string rotation, a pattern of drilling fluid pressure or flow changes, a downhole telemetry system, etc. In an example embodiment the mapping maps a range of SCV_(V)s having a known length (e.g. a span of 30 RPM) to corresponding DRV_(V)s. The endpoints of the range are not initially defined (e.g. the range could be 10 to 40 RPM or 20 to 50 RPM or 37 to 67 RPM). An operator may determine an optimum RPM range for the current conditions and then cause downhole equipment to set the SCV range for the mapping to be within the optimum RPM range. For example, the SCV range may be set by rotating the drill string for a period of time at a rate that has a predetermined relationship to the SCV range (e.g., the high end of the desired SCV range or the low end of the desired SCV range or a mid-point of the desired SCV range and at the start and/or at the end of the period rotating the drill string in a characteristic pattern that indicates to downhole equipment that the SCV range should be set according to the drill string rotation rate during the period of time).

As another example, the techniques described above may be applied to control steering rate as the DRV using any suitable SCV. For example, the SCV for control of steering rate may be drilling fluid flow rate or drilling fluid pressure. The steering rate may have a range of about 0% to about 100%.

In some embodiments, the mapping between a SCV such as the drilling fluid flow rate or pressure to a DRV may be represented by a discrete function. For example, the drilling fluid flow rate or pressure may have a discrete number of possible values such as V1, V2, V3 and V4. The steering rate may also have a corresponding discrete number of possible values such as 0%, 25%, 50% and 100%, where, for example, V1 maps to 0%, V2 maps to 25%, V3 maps to 50% and V4 maps to 100%.

Pressure at any particular downhole location may be affected by a wide range of factors which include, without limitation, the depth of the current location, drilling fluid flow rate, drilling rate, drilling fluid density, density of cuttings, etc. In some embodiments, a SCV is provided by causing a variation in a downhole pressure. In such embodiments, a discretely variable or continuously variable characteristic of the variation (e.g. amplitude or frequency) may be used as a SCV to control a DRV.

Returning to FIG. 4 , at step 406, the surface controller sends the computed SCV_(V) 407 to a surface control component which is configured to control and adjust the SCV. In one embodiment, the SCV is the RPM of the drill string. The surface control component may be a top drive. In another embodiment, the SCV is the drilling fluid flow rate or pressure. The surface control component may be a mud pump.

At step 408, the surface control component adjusts the SCV to the SCV_(V) corresponding to the desired DRV_(V). In one example embodiment, a top drive motor is controlled to set the rotational speed of the drill string. In another embodiment, a -mud pump is controlled to adjust the pumping power or pumping rate.

At step 410, a BHA sensor measures the SCV_(V) downhole at the location of the BHA sensor. The BHA sensor may make measurements of the SCV_(V) continuously or frequently (e.g. at least once every 10 seconds or every 20 seconds). For example the downhole sensor may measure the SCV_(V) periodically with a time between measurements of about 0.1 seconds to about 10 seconds. In one embodiment, the time interval is 1 second (i.e., SCV_(V) is measured about once per second). A BHA controller receives the measured SCV_(V) 411 and processes the measured SCV_(V) 411 to obtain the desired corresponding DRV_(V). The BHA controller may then control downhole equipment or tools (e.g. an RSS) according to the DRV_(V) value.

In some embodiments the BHA controller is configured to find a representative value for a plurality of the measurements in determining the corresponding DRV_(V). For example, the representative value may comprise an average or a median of the plurality of the measurements. In some embodiments the representative value is a weighted average. In some embodiments more recently obtained measurements are weighted more heavily than older measurements. The plurality of the measurements may be a set of the most recent measurements from the downhole sensor. For example, the representative value may be computed for the measurements obtained during a window that extends from a previous time (e.g. 2 minutes ago or one minute ago to the present). The duration of the window may, for example, be in the range of 20 seconds to 2 minutes.

In some embodiments, the BHA controller is configured to process the measurements corresponding to the window to remove outliers prior to calculating the representative value.

Using a representative value for plural measurements (e.g. by averaging) can reduce errors which may arise from noise, variations in the SCV_(V), etc. For example, even if the drill string is rotated at a constant rate at the surface the BHA may not rotate smoothly due to friction between the drill string and the wellbore, torsion in the drill string and the like. The BHA controller may for example determine an averaged measured SCV_(V) by averaging a plurality of measured SCV_(V)s 411 over an averaging interval or window. Computing a representative value of a series of measurements may also improve smoothness of operation by yielding values that more precisely correspond to the desired DRV_(V) and reducing big gaps in values.

In some embodiments, the BHA controller computes an average of measured RPM values of the drill string (e.g. by averaging RPM measurements over a window that includes a plurality of full rotations in the drill string, e.g. 5 to 100 rotations). In some embodiments the averaging is performed for measurements obtained in a window that has a duration in the range of a few seconds to a few minutes, e.g. 30-60 seconds or 20 to 300 seconds.

In some embodiments a window for computing a representative value is adaptively varied. For example, a short window may be used when the SCV is undergoing a large adjustment in value. This allows the more recently measured values to have a heavier influence in the representative value and reduces the influence of earlier values from before the adjustment. This allows the representative value to more quickly change to track changes in the SCV_(V).

In some embodiments the window for computing the representative value is made longer (up to some maximum) at times when the SCV_(V) is relatively stable in its value. This helps to produce a representative value that will more accurately reproduce the desired DRV_(V) encoded in the SCV. For example, an average of a larger number of SCV_(V)s when the SCV is not changing significantly may represent the desired DRV_(V) with increased accuracy and precision.

In some embodiments, when the BHA controller detects a SCV_(V) in a new range (e.g. a series of measurements of the SCV have values that differ significantly from a current average SCV_(V) over a current averaging interval), the BHA sensor may use a short window to quickly establish the new representative value. After establishing the new value, the BHA controller may expand the window to improve on accuracy and precision.

In some embodiments, whether the SCV_(V) is changing significantly is determined by comparing a representative SCV_(V) for a current window to a representative SCV_(V) for a second shorter window which includes only the most recent measurements of the SCV_(V). Statistics for previous representative SCV_(V)s (e.g. standard deviation, variance) may be applied to assess whether or not the representative value for the shorter window represents a change in the SCV_(V) or whether any differences between the representative value for the shorter window and the representative value for the longer window can likely be explained by noise. In an example case the shorter window has a duration that is in the range of one fiftieth to one third of a length of the longer window.

In some embodiments, whether the SCV_(V) is changing significantly is determined by fitting a curve to a plot of the SCV_(V)s vs. time and analyzing the fitted curve to identify characteristics that indicate a change in the SCV_(V)s (as opposed to changes caused by noise).

The representative value may, for example, be an average value (including a weighted average value), a median value, a root mean square (RMS) value, an exponential moving average value, or an output of a Kalman filter that filters the measured values of the surface control variable.

At step 412, the BHA controller applies the mathematical relationship (which may be embodied in software code, a lookup table, or the like) and using the mathematical relationship computes a value for the corresponding DRV_(V) (such as a toolface angle that corresponds to the representative value determined for the SCV_(V)). In some embodiments, the mathematical relationship is stored in a lookup table. A measured SCV_(V) (including a representative SCV_(V)) may be used as a key to cause the lookup table to provide a corresponding DRV_(V).

At step 414, the BHA controller sends a command 415 containing the computed DRV_(V) (such as the toolface angle) to a downhole tool (e.g. a rotary steerable system (RSS)). At step 416, the downhole tool sets a value for the downhole response variable to the DRV_(V) based on command 415 from the BHA controller.

Method 400 may operate to repeat steps 410 to 416 at a desired rate. For example, steps 410 to 416 may be performed at the same rate that the BHA sensor(s) measure the SCV_(V). For example, toolface angle or another DRV may be updated once per second. In some embodiments a plurality of measurements of the SCV are made between each updating of the DRV_(V). In some embodiments the DRV_(V) is updated with a frequency ranging from once every few seconds to once every fraction of a second (e.g. from 0.1 Hz to 10 Hz).

The BHA controller may cause the RSS to adjust DRV_(V) continuously as frequently as the measurement of SCV_(V) is performed (i.e., as frequently as about once every 0.1 seconds or even faster). DRV_(V) may also be held constant for any desired period of time when implementing method 400.

Method 400 may also be used to control each of a plurality of DRV_(V)s.

FIG. 7 is a flow chart that illustrates a method 700 for adjusting first and second DRVs (referred to as “DRV1” and “DRV2” respectively herein) based on first and second SCVs (referred to as “SCV1” and “SCV2” respectively herein) according to another example embodiment of this invention. Although example method 700 only includes two DRVs, it is to be understood that method 700 may be applied to any number of DRVs for which a corresponding number of SCVs is available.

DRV1 and DRV2 may be any suitable downhole parameters. In some embodiments, DRV1 may be the toolface angle of a drill bit. DRV2 may be the steering rate of a drill bit. SCV1 may be the RPM of a drill string. SCV2 may be the drilling fluid flow rate or pressure.

At step 702, a desired first downhole response variable value (referred to as “DRV1 _(V)” herein) and a desired second downhole response variable value (referred to as “DRV2 _(V)” herein) are selected for a certain phase of the drilling operation and sent to a surface controller. In some embodiments, the surface controller comprises a first surface sub-controller configured to control SCV1 and a second surface sub-controller configured to control SCV2.

At step 704, the surface controller (or first and second surface sub-controllers) computes a value for SCV1 707A that corresponds to the desired DRV1 _(V) according to a first preset mathematical relationship (f1), and a value for SCV2 707B that corresponds to the desired value for DRV2 according to a second preset mathematical relationship (f2). “SCV1 _(V)” and “SCV2 _(V)” are respectively the values for SCV1 and SCV2. Mathematical relationship (f1) may be a first mapping between DRV1 _(V) and SCV1 _(V). Mathematical relationship (f2) may be a second mapping between DRV2 _(V) and SCV2 _(V).

The first and second mappings f1 and f2 may be any suitable type of mapping, including the mappings disclosed herein in relation to method 400. The first and second mappings may be set prior to drilling operations and stored in first and second lookup tables and/or first and second software functions. The first and second lookup tables may be accessible to one or more upstream and/or downstream controllers connected to control components of the drilling rig.

For an example phase of a drilling operation, it may be desirable to adjust DRV1 only. For another example phase of a drilling operation, it may be desirable to adjust DRV2 only. Yet for another example phase of a drilling operation, it may be desirable to adjust both DRV1 and DRV2. Yet for a further example phase of a drilling operation, it may be desirable to not adjust either DRV1 or DRV2.

At step 706, the surface controller (or first and second surface sub-controllers) sends computed SCV1 _(V) 707A to a first surface control component (SCC1) configured to adjust SCV1 and sends computed SCV2 _(V) 707B to a second surface control component (SCC2) configured to adjust SCV2. In some embodiments, SCC1 is a surface drive motor. In some embodiments, SCC2 is a mud pump or valve that affects flow of drilling fluid.

At step 708, based on SCV1 _(V) 707A, SCC1 updates or maintains SCV1 to the computed SCV1 _(V) 707A. Based on SCV2 _(V) 707B, SCC2 updates or maintains SCV2 to the computed SCV2 _(V) 707B.

At step 710, one or more BHA sensors measure SCV1 and SCV2 at downhole locations (e.g. in the BHA) and send the measured values 711A, 711B to a BHA controller. In some embodiments, a first BHA sensor is configured to measure SCV1 _(V) and a second BHA sensor is configured to measure SCV2 _(V). As described above, the measurements may be made continuously or in successive suitably short time intervals. In some embodiments, the time interval between successive measurements is in the range of about 0.1 seconds to about 10 seconds.

In some embodiments, SCV1 and SCV2 are measured at different time intervals. The plurality of measured SCV1 and/or SCV2 values may be respectively processed over corresponding windows (e.g. averaged over an averaging interval) by the BHA controller as described above with respect to method 400. The windows for SCV1 and SCV2 may be the same or different.

At step 712, the BHA controller computes the desired DRV1 _(V) corresponding to a measured SCV1 _(V) (or a representative value for a plurality of measured SCV1 _(V)s) according to mathematical relationship f1 and computes the desired DRV2 _(V) corresponding to a measured SCV2 _(V) (or a representative value for a plurality of measured SCV2 _(V)s) according to mathematical relationship f2.

Mathematical relationships f1 and f2 may be stored and accessed by the BHA controller as described above with reference to method 400. At step 714, the BHA controller sends a command 715 containing computed DRV1 _(V) and DRV2 _(V) to a rotary steerable system (RSS). At step 716, the RSS updates DRV1 _(V) and DRV2 _(V) based on command 715 received from the BHA controller.

FIG. 8 shows schematically an example BHA RSS 800 configured to implement the methods of this invention according to an embodiment of this invention.

BHA RSS 800 comprises one or more BHA sensor(s) 810 that are coupled to the drill string 120. The BHA sensor(s) are configured to measure SCVs for the surface control variable(s) at the location of the BHA sensor(s). BHA sensor(s) may comprise any suitable sensors that are capable of measuring the surface control variable(s). In some embodiments, the BHA sensor(s) comprise sensor(s) configured to measure the rotational speed of the drill string 120. For example, the sensor(s) may be measurement-while-drilling (MWD) RPM sensor(s) such as accelerometers. In other embodiments, the BHA sensor(s) may additionally or alternatively comprise sensor(s) configured to measure a drilling fluid flow rate or pressure. For example, the sensor(s) may comprise a MWD flow meter.

The outputs of the BHA sensor(s) 810 may be digitally formatted and compiled into digital data. If not natively output in digital form the outputs of BHA sensor(s) 810 may be converted to a digital format by way of a suitable analog to digital converter. In some embodiments, the digital data is time-stamped. The digital data may be transferred by any suitable means of data transfer.

Outputs of BHA sensor(s) 810 are coupled to a control unit 812 configured to implement the methods disclosed herein. Control unit 812 comprises a local storage 814 and a data processor 816. Local storage 814 is in direct communication with control unit 812. Local storage 814 may be used to store software functions and/or lookup table(s) that embody the mathematical relationship(s) which relate one or more SCV_(V)s to one or more corresponding DRV_(V)s. Local storage 814 may also store a certain amount of the measured values 711A and 711B received from BHA sensor(s) 810.

In some embodiments, only measured values 711A and 711B acquired within a certain time window are stored. The time interval is at least of the length of one averaging interval. In other embodiments, the time interval may be of a length that is limited by the storage capacity of the local storage 814. Measured values 711A and 711B acquired outside of the current time window may be discarded/deleted as time passes.

Data processor 816 may perform any data manipulation or computation tasks within control unit 812. In some embodiments, data processor 816 computes the desired downhole response DRV_(V)(s) by performing computations using the mathematical relationship(s). Data processor 816 may also compute the average and/or or other representative value of the measured SCV_(V)s when control unit 812 receive the plurality of measured SCV_(V)s corresponding to an averaging interval. Control unit 812 is configured to send a command to RSS components that are configured to adjust the DRV_(V)s. In some embodiments, the RSS components may comprise steering assembly 230.

In some embodiments, some or all of the one or more BHA sensor(s) 810, the control unit 812, the local storage 814 and the data processor 816 are integrated into the BHA RSS 800 such that the BHA RSS 800 may implement the methods described herein without any modification or additional equipment.

ENUMERATED EXAMPLE EMBODIMENTS

The following are non-limiting example embodiments of the technology described herein. It is emphasized that any of the example embodiments below may be a stand-alone embodiment or may be combined with any other embodiment, feature or combination of features described herein.

A1. A method for controlling a downhole tool in a drilling operation, the method comprising the steps of:

-   -   selecting a desired first downhole response variable value;     -   computing a desired first surface control variable value         corresponding to the desired first downhole response variable         value according to a preset mathematical relationship wherein         the preset mathematical relationship is accessible by one or         more surface and/or downhole controllers;     -   setting the first surface control variable to the desired first         surface control variable value;     -   measuring the first surface control variable at a bottom hole         assembly and obtaining a plurality of measured values of the         first surface control variable;     -   processing the plurality of measured values to determine a         representative value for the first surface control variable;     -   computing a first downhole response variable value corresponding         to the representative value for the first surface control         variable of the plurality of measured surface control values         according to the preset mathematical relationship; and     -   controlling the downhole tool according to the computed first         downhole response variable value.

A2. The method according to embodiment A1 wherein determining the representative value is based on those of the plurality of measured values of the first surface control variable associated with a first window.

A3. The method according to embodiment A2 comprising reducing a duration of the first window in response to detecting a significant change in the magnitude of the first surface control variable.

A4. The method according to any of embodiments A2 to A3 comprising increasing a duration of the first window in response to determining that there is no significant change in the magnitude of the first surface control variable during the first window.

A5. The method according to any of embodiments A2 to A4 wherein determining the representative value comprises processing the plurality of those of the measured values of the first surface control variable corresponding to the first window to remove outliers and determining the representative value for the remaining ones of the measured values of the surface control variable corresponding to the first window.

A6. The method according to any one of embodiments A2 to A5 further comprising the steps of:

-   -   selecting a desired second downhole response variable value;     -   computing a desired second surface control variable value         corresponding to the desired second downhole response variable         value according to a second preset mathematical relationship;     -   setting the second surface control variable to the desired         second surface control variable value;     -   measuring the second surface control variable at the bottom hole         assembly and obtaining a plurality of measured second surface         control values;     -   computing over a second window that is the same as or different         from the first window a representative value of the plurality of         second surface control variable values;     -   computing a second downhole response variable value         corresponding to the representative value of the plurality of         measured second surface control variable values according to the         second preset mathematical relationship; and     -   setting the second downhole response variable to the computed         second downhole response variable value.

A7. The method according to embodiment A6 wherein the second downhole response variable is a steering rate of the downhole tool.

A8. The method according to embodiment A6 or A7 wherein the second surface control variable is a drilling fluid flow rate or drilling fluid pressure.

A9. The method according to any one of embodiments A6 to A8 wherein the second mathematical relationship comprises a mapping between a range of values of the steering rate and a range of values of the drilling fluid flow rate or drilling fluid pressure.

A10. The method according to any one of claims A6 to A9 wherein the first and second windows have lengths in the range of 30 to 60 seconds.

A11. The method according to embodiment A10 wherein the first and second windows each correspond to the same interval.

A12. The method according to embodiment A11 wherein the first window is different from the second window.

A13. The method according to any one of embodiments A6 to A12 comprising varying one or both of the first window and the second window over the drilling operation.

A14. The method according to any one of embodiments A6 to A13 comprising measuring the first surface control variable and/or the second surface control variable at least once every one second.

A15. The method according to any one of embodiments A6 to A14 comprising reducing a duration of the second window in response to detecting a significant change in the magnitude of the second surface control variable.

A16. The method according to any one of embodiments A6 to A15 comprising increasing a duration of the second window in response to determining that there is no significant change in the magnitude of the second surface control variable during the second window.

A17. The method according to any one of embodiments A1 to A16 wherein the representative value is an average value, a weighted average value, a median value, a root mean square (RMS) value, an exponential moving average value, or an output of a Kalman filter that filters the measured values of the surface control variable.

A18. The method according to any one of embodiments A1 to A17 wherein the first downhole response variable corresponds to a toolface angle of a drill bit.

A19. The method according to any one of embodiments A1 to A18 wherein the first downhole response variable is a steering rate of the downhole tool.

A20. The method according to any one of embodiments A1 to A19 wherein the first surface control variable is a rotational speed of a drill string of a drill rig.

A21. The method according to embodiment A20 wherein the mathematical relationship comprises a mapping between a range of values of a toolface angle and a range of values of the rotational speed of the drill string.

A22. The method according to embodiment A21 wherein the range of values of the toolface angle exceeds one full revolution.

A23. The method according to embodiment A21 or A22 wherein the range of values of the toolface angle includes −30 degrees to 390 degrees.

A24. The method according to any one of embodiments A20 to A23 wherein the range of values of the rotational speed of the drill string is or is within the range of 20 to 120 RPM.

A25. The method according to any one of embodiments A1 to A19 wherein the first surface control variable is a drilling fluid flow rate or drilling fluid pressure.

A26. The method according to embodiment A25 the mathematical relationship comprises a mapping between a range of values of the steering rate and a range of values of the drilling fluid flow rate or drilling fluid pressure.

A27. The method according to any one of embodiments A1 to A26 wherein the mapping is a linear mapping.

A28. The method according to any one of embodiments A1 to A26 wherein the mapping is a repeating function with dead bands.

A29. An analog method of downlinking a plurality of downhole response variables to a bottom hole assembly during a drilling operation, the method comprising the steps of:

-   -   selecting a desired plurality of downhole response variable         values;     -   computing a desired respective surface control variable value         corresponding to each of the plurality of desired first downhole         response variable values according to respective preset         mathematical relationships, wherein the mathematical         relationships are accessible by one or more surface and/or         downhole controllers;     -   setting each of the plurality of surface control variables         respectively to the desired surface control variable values;     -   measuring each of the plurality of surface control variables         downhole at or near the bottom hole assembly to obtain a time         sequence of measurements of each of the plurality of surface         control variables;     -   for each of the plurality of surface control variables computing         over a respective window a representative value of a portion of         the time sequence of measurements of the respective surface         control variable corresponding to the respective window;     -   computing respective first downhole response variable values         corresponding to the representative values for the respective         surface control variables according to the respective preset         mathematical relationships; and     -   setting each of the downhole response variables to the         respective computed downhole response variable values.

A30. The method according to embodiment A29 comprising for each of the plurality of surface control variables computing over the respective window the representative value of the portion of the time sequence of measurements of the respective surface control variable corresponding to the respective window at a respective frequency.

A31. The method according to embodiment A29 or A30 wherein determining the representative value for at least one of the surface control variables comprises processing the portion of the time sequence of measurements of the respective surface control variable corresponding to the respective window to remove outliers and determining the representative value for the remaining ones of the measured values of the surface control variable corresponding to the first window.

A32. The method according to any one of embodiments A29 to A31 wherein the representative value is an average value.

A33. The method according to embodiment A32 wherein the representative value is a median value.

A34. The method according to any one of embodiments A29 to A33 wherein the respective preset mathematical relationships each comprise a mapping between a range of values of the respective downhole response variable and a range of values of the respective surface control variable.

A35. The method according to embodiment A34 wherein at least one of the mappings is a linear mapping.

A36. The method according to embodiment A33 or A34 wherein at least one of the mappings is a repeating function with dead bands.

A37. The method according to any one of embodiments A34 to A36 wherein at least one of the mappings is a discrete function.

A38. The method according to any one of embodiments A29 to A37 wherein one of the plurality of downhole response variables is a toolface angle of a drill bit of the bottom hole assembly.

A39. The method according to embodiment A38 wherein the range of values of the toolface angle exceeds one full revolution.

A40. The method according to embodiment A38 or A39 wherein the range of values of the toolface angle is between −30 degrees and 390 degrees.

A41. The method according to any one of embodiments A29 to A40 wherein one of the plurality of surface control variables is a rotational speed of a drill string.

A42. The method according to embodiment A41 wherein the range of values of the rotational speed of the drill string is or is within the range of 20 to 120 RPM.

A43. The method according to any one of embodiments A29 to A42 wherein one of the plurality of downhole response variables is a steering rate of the bottom hole assembly.

A44. The method according to any one of embodiments A29 to A43 wherein one of the surface control variables is a drilling fluid flow rate or drilling fluid pressure.

A45. The method according to any one of embodiments A29 to A44 wherein values for each of the plurality of surface control variables are measured at least once per second.

A46. The method according to any one of embodiments A29 to A45 wherein the respective windows have durations of at least 30 seconds.

A47. The method according to embodiment A46 wherein the respective windows have durations in the range of 30 to 60 seconds.

A48. The method according to any one of embodiments A29 to A47 comprising varying a duration of at least one of the windows during the drilling operation.

A49. The method according to embodiment A48 comprising reducing the duration of the at least one window in response to determining that a magnitude of the respective surface control variable is undergoing significant change.

A50. The method according to embodiment A49 comprising increasing the duration of the at least one window in response to determining that the magnitude of the at least one averaging interval is not changing significantly in the window.

A51. An analog method of downlinking a toolface angle to a bottom hole assembly during a drilling operation, the method comprising the steps of:

-   -   selecting a desired toolface angle value;     -   computing a rotational speed of a drill string (RPM)         corresponding to the desired toolface angle value according to a         preset mathematical relationship;     -   rotating the drill string at the computed rotational speed;     -   measuring RPM of the drill string at the bottom hole assembly to         obtain a sequence of measured RPM values;     -   computing a representative value of the plurality of         time-stamped RPM values obtained in a first window;     -   computing a toolface angle corresponding to the representative         value according to the preset mathematical relationship; and     -   setting a toolface angle of a steering system to the computed         toolface angle value.

A52. The method according to embodiment A51 further comprising the steps of:

-   -   selecting a desired steering rate value;     -   computing a desired drilling fluid flow rate or pressure value         corresponding to the desired steering rate value according to a         second preset mathematical relationship;     -   setting the drilling fluid flow rate or pressure to the desired         drilling fluid flow rate or pressure value;     -   measuring the drilling fluid flow rate or pressure at the bottom         hole assembly and obtaining a sequence of measured drilling         fluid flow rate or pressure values;     -   computing a representative value for the drilling fluid flow         rate or pressure values obtained in a second window;     -   computing a steering rate corresponding to the representative         value for the drilling fluid flow rate or pressure values         obtained in the second window according to the second preset         mathematical relationship; and     -   setting a steering rate of the steering system to the computed         steering rate value.

A53. A drill rig configured to drill continuously while adjusting a drilling direction, the drill rig comprising:

-   -   a surface controller;     -   a drill string;     -   a mud pump;     -   a motor configured to rotate the drill string; and     -   a bottom hole assembly (BHA) comprising:         -   one or more BHA sensors;         -   a BHA controller comprising a local storage and a data             processor;         -   a steering assembly; and         -   a drill bit,     -    wherein the surface controller is configured to:         -   compute a desired rotational speed of the drill string (RPM)             corresponding to a desired toolface angle value according to             a preset mathematical relationship; and control the motor to             rotate the drill string at the desired RPM; and             the BHA controller is configured by software instructions in             the local storage of the BHA controller to:     -   receive from the one or more BHA sensors a time series of         measurements of the RPM of the drill string at or near the BHA;         and         -   compute a representative value of the measurements of the             RPM of the drill string for a window;         -   compute a toolface angle value corresponding to the             representative value of the measurements of the RPM of the             drill string for the window using the preset mathematical             relationship; and         -   control the steering assembly to set a toolface angle of the             steering assembly to the computed toolface angle value.

A54. The drill rig according to embodiment A53, wherein:

-   -   the surface controller is configured to communicate a desired         steering rate value for the drill bit of the BHA to the BHA         controller by:         -   computing drilling fluid flow rate or pressure value             corresponding to the desired steering rate value according             to a second mathematical relationship; and         -   controlling the mud pump to set the drilling fluid flow rate             or pressure in the drill string to the desired drilling             fluid flow rate or pressure value; and     -   the BHA controller is configured to:         -   receive from the BHA sensors a time series of measurements             of the drilling fluid flow rate or pressure;         -   compute a representative value of the time series of             measurements of the drilling fluid flow rate or pressure for             a second window;         -   compute a steering rate value corresponding to the             representative value of the time series of measurements of             the drilling fluid flow rate or pressure for the second             window using the second preset mathematical relationship;             and         -   set a steering rate of the steering assembly to the computed             steering rate value.

A55. A method for controlling a downhole tool in a drilling operation, the method comprising the steps of:

-   -   at surface equipment, controlling a rotational speed of a drill         string to have a value that corresponds to a downhole response         value;     -   measuring the rotational speed of the drill string at a bottom         hole assembly and obtaining at different times a plurality of         measured values of the rotational speed to yield a time sequence         of the measured values;     -   computing a representative value of those of the plurality of         measured values of the rotational speed obtained in a first         window that includes the N most-recently acquired ones of the         plurality of measured values of the rotational speed where N is         a number;     -   computing a downhole response variable value corresponding to         the representative value according to a preset mathematical         relationship; and     -   controlling the downhole tool according to the computed downhole         response variable value.

A56. The method according to embodiment A55 further comprising dynamically varying a length of the first window.

A57. The method according to embodiment A56 wherein the dynamically varying comprises decreasing a length of the first window in response to determining that an average value of those of the plurality of measured values of the rotational speed obtained in a second window that is shorter than the first window and incudes the M most-recently acquired ones of the plurality of measured values of the rotational speed where M is a number with M<N differs in a statistically significant amount from the average value of the plurality of measured values of the rotational speed over the first window.

A58. The method according to embodiment A57 wherein the dynamically varying comprises increasing a length of the first window in response to determining that the representative value of those of the plurality of measured values of the rotational speed obtained over the second window does not differ in a statistically significant amount from the representative value of the plurality of measured values of the rotational speed over the first window.ed over the first window.

Where a component (e.g. a software module, processor, assembly, device, circuit, etc.) is referred to herein, unless otherwise indicated, reference to that component (including a reference to a “means”) should be interpreted as including as equivalents of that component any component which performs the function of the described component (i.e., that is functionally equivalent), including components which are not structurally equivalent to the disclosed structure which performs the function in the illustrated exemplary embodiments of the invention.

Embodiments of the invention (e.g. BHA controllers or controllers for surface equipment) may be implemented using specifically designed hardware, configurable hardware, programmable data processors configured by the provision of software (which may optionally comprise “firmware”) capable of executing on the data processors, special purpose computers or data processors that are specifically programmed, configured, or constructed to perform one or more steps in a method as explained in detail herein and/or combinations of two or more of these. Examples of specifically designed hardware are: logic circuits, application-specific integrated circuits (“ASICs”), large scale integrated circuits (“LSIs”), very large scale integrated circuits (“VLSIs”), and the like. Examples of configurable hardware are: one or more programmable logic devices such as programmable array logic (“PALs”), programmable logic arrays (“PLAs”), and field programmable gate arrays (“FPGAs”). Examples of programmable data processors are: microprocessors, digital signal processors (“DSPs”), embedded processors, graphics processors, math co-processors, general purpose computers, server computers, cloud computers, mainframe computers, computer workstations, and the like. For example, one or more data processors in a control circuit for a device may implement methods as described herein by executing software instructions in a program memory accessible to the processors.

Certain aspects of the invention may also be provided in the form of a program product. The program product may comprise any non-transitory medium which carries a set of computer-readable instructions which, when executed by a data processor, cause the data processor to execute a method of the invention (e.g. a method performed at a BHA controller as described herein)). Program products according to the invention may be in any of a wide variety of forms. The program product may comprise, for example, non-transitory media such as magnetic data storage media including floppy diskettes, hard disk drives, optical data storage media including CD ROMs, DVDs, electronic data storage media including ROMs, flash RAM, EPROMs, hardwired or preprogrammed chips (e.g., EEPROM semiconductor chips), nanotechnology memory, or the like. The computer-readable signals on the program product may optionally be compressed or encrypted.

In some embodiments, the invention is implemented in software. For greater clarity, “software” includes any instructions executed on a processor, and may include (but is not limited to) firmware, resident software, microcode, code for configuring a configurable logic circuit, applications, apps, and the like. Both processing hardware and software may be centralized or distributed (or a combination thereof), in whole or in part, as known to those skilled in the art. For example, software and other modules may be accessible via local memory, via a network, in a distributed computing context, or via other means suitable for the purposes described above.

Interpretation of Terms

Unless the context clearly requires otherwise, throughout the description and the claims:

-   -   “comprise”, “comprising”, and the like are to be construed in an         inclusive sense, as opposed to an exclusive or exhaustive sense;         that is to say, in the sense of “including, but not limited to”;     -   “connected”, “coupled”, or any variant thereof, means any         connection or coupling, either direct or indirect, between two         or more elements; the coupling or connection between the         elements can be physical, logical, or a combination thereof;     -   “herein”, “above”, “below”, and words of similar import, when         used to describe this specification, shall refer to this         specification as a whole, and not to any particular portions of         this specification;     -   “or”, in reference to a list of two or more items, covers all of         the following interpretations of the word: any of the items in         the list, all of the items in the list, and any combination of         the items in the list;     -   the singular forms “a”, “an”, and “the” also include the meaning         of any appropriate plural forms. These terms (“a”, “an”, and         “the”) mean one or more unless stated otherwise;     -   “and/or” is used to indicate one or both stated cases may occur,         for example A and/or B includes both (A and B) and (A or B);     -   “approximately” when applied to a numerical value means the         numerical value±10%;     -   where a feature is described as being “optional” or “optionally”         present or described as being present “in some embodiments” it         is intended that the present disclosure encompasses embodiments         where that feature is present and other embodiments where that         feature is not necessarily present and other embodiments where         that feature is excluded. Further, where any combination of         features is described in this application this statement is         intended to serve as antecedent basis for the use of exclusive         terminology such as “solely,” “only” and the like in relation to         the combination of features as well as the use of “negative”         limitation(s)” to exclude the presence of other features; and     -   “first” and “second” are used for descriptive purposes and         cannot be understood as indicating or implying relative         importance or indicating the number of indicated technical         features.

Words that indicate directions such as “vertical”, “transverse”, “horizontal”, “upward”, “downward”, “forward”, “backward”, “inward”, “outward”, “left”, “right”, “front”, “back”, “top”, “bottom”, “below”, “above”, “under”, and the like, used in this description and any accompanying claims (where present), depend on the specific orientation of the apparatus described and illustrated. The subject matter described herein may assume various alternative orientations. Accordingly, these directional terms are not strictly defined and should not be interpreted narrowly.

Where a range for a value is stated, the stated range includes all sub-ranges of the range. It is intended that the statement of a range supports the value being at an endpoint of the range as well as at any intervening value to the tenth of the unit of the lower limit of the range, as well as any subrange or sets of sub ranges of the range unless the context clearly dictates otherwise or any portion(s) of the stated range is specifically excluded. Where the stated range includes one or both endpoints of the range, ranges excluding either or both of those included endpoints are also included in the invention.

Certain numerical values described herein are preceded by “about”. In this context, “about” provides literal support for the exact numerical value that it precedes, the exact numerical value±5%, as well as all other numerical values that are near to or approximately equal to that numerical value. Unless otherwise indicated a particular numerical value is included in “about” a specifically recited numerical value where the particular numerical value provides the substantial equivalent of the specifically recited numerical value in the context in which the specifically recited numerical value is presented. For example, a statement that something has the numerical value of “about 10” is to be interpreted as: the set of statements:

-   -   in some embodiments the numerical value is 10;     -   in some embodiments the numerical value is in the range of 9.5         to 10.5;         and if from the context the person of ordinary skill in the art         would understand that values within a certain range are         substantially equivalent to 10 because the values with the range         would be understood to provide substantially the same result as         the value 10 then “about 10” also includes:     -   in some embodiments the numerical value is in the range of C to         D where C and D are respectively lower and upper endpoints of         the range that encompasses all of those values that provide a         substantial equivalent to the value 10.

Specific examples of systems, methods and apparatus have been described herein for purposes of illustration. These are only examples. The technology provided herein can be applied to systems other than the example systems described above. Many alterations, modifications, additions, omissions, and permutations are possible within the practice of this invention. This invention includes variations on described embodiments that would be apparent to the skilled addressee, including variations obtained by: replacing features, elements and/or acts with equivalent features, elements and/or acts; mixing and matching of features, elements and/or acts from different embodiments; combining features, elements and/or acts from embodiments as described herein with features, elements and/or acts of other technology; and/or omitting combining features, elements and/or acts from described embodiments.

As will be apparent to those of skill in the art upon reading this disclosure, each of the individual embodiments described and illustrated herein has discrete components and features which may be readily separated from or combined with the features of any other described embodiment(s) without departing from the scope of the present invention.

Any aspects described above in reference to apparatus may also apply to methods and vice versa.

Any recited method can be carried out in the order of events recited or in any other order which is logically possible. For example, while processes or blocks are presented in a given order, alternative examples may perform routines having steps, or employ systems having blocks, in a different order, and some processes or blocks may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative or subcombinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, while processes or blocks are at times shown as being performed in series, these processes or blocks may instead be performed in parallel, simultaneously or at different times.

Various features are described herein as being present in “some embodiments”. Such features are not mandatory and may not be present in all embodiments. Embodiments of the invention may include zero, any one or any combination of two or more of such features. All possible combinations of such features are contemplated by this disclosure even where such features are shown in different drawings and/or described in different sections or paragraphs. This is limited only to the extent that certain ones of such features are incompatible with other ones of such features in the sense that it would be impossible for a person of ordinary skill in the art to construct a practical embodiment that combines such incompatible features. Consequently, the description that “some embodiments” possess feature A and “some embodiments” possess feature B should be interpreted as an express indication that the inventors also contemplate embodiments which combine features A and B (unless the description states otherwise or features A and B are fundamentally incompatible). This is the case even if features A and B are illustrated in different drawings and/or mentioned in different paragraphs, sections or sentences.

It is therefore intended that the following appended claims and claims hereafter introduced are interpreted to include all such modifications, permutations, additions, omissions, and sub-combinations as may reasonably be inferred. The scope of the claims should not be limited by the preferred embodiments set forth in the examples, but should be given the broadest interpretation consistent with the description as a whole. 

What is claimed is:
 1. A method for controlling a downhole tool in a drilling operation, the method comprising the steps of: selecting a desired first downhole response variable value; computing a desired first surface control variable value corresponding to the desired first downhole response variable value according to a preset mathematical relationship wherein the preset mathematical relationship is accessible by one or more surface and/or downhole controllers; setting the first surface control variable to the desired first surface control variable value; measuring the first surface control variable at a bottom hole assembly and obtaining a plurality of measured values of the first surface control variable; processing the plurality of measured values to determine a representative value for the first surface control variable; computing a first downhole response variable value corresponding to the representative value for the first surface control variable of the plurality of measured surface control values according to the preset mathematical relationship; and, controlling the downhole tool according to the computed first downhole response variable value.
 2. The method according to claim 1 wherein determining the representative value is based on those of the plurality of measured values of the first surface control variable associated with a first window.
 3. The method according to claim 2 wherein determining the representative value comprises processing the plurality of those of the measured values of the first surface control variable corresponding to the first window to remove outliers and determining the representative value for the remaining ones of the measured values of the surface control variable corresponding to the first window.
 4. The method according to claim 2 further comprising the steps of: selecting a desired second downhole response variable value; computing a desired second surface control variable value corresponding to the desired second downhole response variable value according to a second preset mathematical relationship; setting the second surface control variable to the desired second surface control variable value; measuring the second surface control variable at the bottom hole assembly and obtaining a plurality of measured second surface control values; computing over a second window that is the same as or different from the first window a representative value of the plurality of second surface control variable values; computing a second downhole response variable value corresponding to the representative value of the plurality of measured second surface control variable values according to the second preset mathematical relationship; and, setting the second downhole response variable to the computed second downhole response variable value.
 5. The method according to claim 4 wherein the second downhole response variable is a steering rate of the downhole tool, the second surface control variable is a drilling fluid flow rate or drilling fluid pressure or the second mathematical relationship comprises a mapping between a range of values of the steering rate and a range of values of the drilling fluid flow rate or drilling fluid pressure.
 6. The method according to claim 1 wherein the representative value is an average value, a weighted average value, a median value, a root mean square (RMS) value, an exponential moving average value, or an output of a Kalman filter that filters the measured values of the surface control variable.
 7. The method according to claim 1 wherein the first downhole response variable corresponds to a toolface angle of a drill bit.
 8. The method according to claim 1 wherein the first downhole response variable is a steering rate of the downhole tool.
 9. The method according to claim 1 wherein the first surface control variable is a rotational speed of a drill string of a drill rig.
 10. The method according to claim 9 wherein the mathematical relationship comprises a mapping between a range of values of a toolface angle and a range of values of the rotational speed of the drill string.
 11. The method according to claim 10 wherein the range of values of the toolface angle exceeds one full revolution.
 12. The method according to claim 1 wherein the mapping is a repeating function with dead bands.
 13. An analog method of downlinking a plurality of downhole response variables to a bottom hole assembly during a drilling operation, the method comprising the steps of: selecting a desired plurality of downhole response variable values; computing a desired respective surface control variable value corresponding to each of the plurality of desired first downhole response variable values according to respective preset mathematical relationships, wherein the mathematical relationships are accessible by one or more surface and/or downhole controllers; setting each of the plurality of surface control variables respectively to the desired surface control variable values; measuring each of the plurality of surface control variables downhole at or near the bottom hole assembly to obtain a time sequence of measurements of each of the plurality of surface control variables; for each of the plurality of surface control variables computing over a respective window a representative value of a portion of the time sequence of measurements of the respective surface control variable corresponding to the respective window; computing respective first downhole response variable values corresponding to the representative values for the respective surface control variables according to the respective preset mathematical relationships; and, setting each of the downhole response variables to the respective computed downhole response variable values.
 14. The method according to claim 13 comprising for each of the plurality of surface control variables computing over the respective window the representative value of the portion of the time sequence of measurements of the respective surface control variable corresponding to the respective window at a respective frequency.
 15. The method according to claim 13 wherein determining the representative value for at least one of the surface control variables comprises processing the portion of the time sequence of measurements of the respective surface control variable corresponding to the respective window to remove outliers and determining the representative value for the remaining ones of the measured values of the surface control variable corresponding to the first window, wherein the representative value is an average value or a median value.
 16. The method according to claim 13 wherein the respective preset mathematical relationships each comprise a mapping between a range of values of the respective downhole response variable and a range of values of the respective surface control variable.
 17. The method according to claim 16 wherein at least one of the mappings is a discrete function.
 18. The method according to claim 13 wherein one of the plurality of downhole response variables is a toolface angle of a drill bit of the bottom hole assembly.
 19. The method according to claim 13 wherein one of the plurality of surface control variables is a rotational speed of a drill string.
 20. The method according to claim 13 wherein one of the plurality of downhole response variables is a steering rate of the bottom hole assembly.
 21. The method according to claim 13 wherein one of the surface control variables is a drilling fluid flow rate or drilling fluid pressure.
 22. An analog method of downlinking a toolface angle to a bottom hole assembly during a drilling operation, the method comprising the steps of: selecting a desired toolface angle value; computing a rotational speed of a drill string (RPM) corresponding to the desired toolface angle value according to a preset mathematical relationship; rotating the drill string at the computed rotational speed; measuring RPM of the drill string at the bottom hole assembly to obtain a sequence of measured RPM values; computing a representative value of the plurality of time-stamped RPM values obtained in a first window; computing a toolface angle corresponding to the representative value according to the preset mathematical relationship; and, setting a toolface angle of a steering system to the computed toolface angle value.
 23. The method according to claim 22 further comprising the steps of: selecting a desired steering rate value; computing a desired drilling fluid flow rate or pressure value corresponding to the desired steering rate value according to a second preset mathematical relationship; setting the drilling fluid flow rate or pressure to the desired drilling fluid flow rate or pressure value; measuring the drilling fluid flow rate or pressure at the bottom hole assembly and obtaining a sequence of measured drilling fluid flow rate or pressure values; computing a representative value for the drilling fluid flow rate or pressure values obtained in a second window; computing a steering rate corresponding to the representative value for the drilling fluid flow rate or pressure values obtained in the second window according to the second preset mathematical relationship; and setting a steering rate of the steering system to the computed steering rate value. 